@import './variables.css';

/* 重置样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  width: 100%;
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
  color: var(--text-color);
  background-color: var(--background-color);
}

#app {
  height: 100%;
  width: 100%;
}

/* Element Plus 组件样式覆盖 */
:root {
  --el-color-primary: var(--primary-color);
  --el-color-success: #2ecc71;
  --el-color-warning: #f1c40f;
  --el-color-danger: #e74c3c;
  --el-color-info: var(--gray-color);
  --el-border-color: var(--border-color);
  --el-text-color-primary: var(--text-color);
  --el-border-radius-base: var(--border-radius);
  --el-box-shadow: var(--box-shadow);
}

.el-button--primary {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.el-button--primary:hover {
  background-color: var(--primary-hover-color);
  border-color: var(--primary-hover-color);
}

.el-table {
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--card-shadow);
}

.el-table th {
  background-color: var(--table-header-bg) !important;
  color: var(--table-header-text) !important;
}

.el-table tr:hover > td {
  background-color: var(--table-row-hover) !important;
}

.el-input__inner:focus {
  border-color: var(--primary-color) !important;
}

.el-card {
  border-radius: var(--border-radius) !important;
  border: none !important;
  box-shadow: var(--card-shadow) !important;
}

/* Avue 组件样式覆盖 */
.avue-crud__menu {
  background-color: var(--background-color);
  padding: 16px;
  border-radius: var(--border-radius);
  margin-bottom: 16px;
  box-shadow: var(--card-shadow);
}

.avue-crud .el-table {
  border-radius: var(--border-radius);
  overflow: hidden;
}

.avue-crud .el-table .el-table__row.current-row td {
  background-color: var(--table-row-hover) !important;
}

.avue-form {
  background-color: var(--white-color);
  padding: 20px;
  border-radius: var(--border-radius);
  box-shadow: var(--card-shadow);
}

.avue-pagination {
  margin-top: 16px;
  padding: 16px;
  background-color: var(--white-color);
  border-radius: var(--border-radius);
  box-shadow: var(--card-shadow);
}

.avue-pagination .el-pagination.is-background .el-pager li:not(.disabled).active {
  background-color: var(--primary-color);
  color: var(--white-color);
}

/* Router Link 样式 */
.router-link {
  color: var(--text-color);
  text-decoration: none;
  transition: all var(--transition-duration);
  position: relative;
}

.router-link:hover {
  color: var(--primary-color);
}

.router-link.active {
  color: var(--primary-color);
}

.router-link.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: var(--border-width);
  background-color: var(--primary-color);
}

/* 通用卡片样式 */
.common-card {
  background-color: var(--white-color);
  border-radius: var(--border-radius);
  padding: 20px;
  box-shadow: var(--card-shadow);
}

/* 通用表单样式 */
.common-form {
  background-color: var(--white-color);
  border-radius: var(--border-radius);
  padding: 24px;
  box-shadow: var(--card-shadow);
} 